// pages/order/order.js


import {
    request
} from '../../request/index.js'

Page({

    /**
     * 页面的初始数据
     */
    data: {
        tabs: [{
                id: 0,
                value: '全部',
                isActive: true
            },
            {
                id: 1,
                value: '待付款',
                isActive: false
            },
            {
                id: 2,
                value: '待发货',
                isActive: false
            },
            {
                id: 3,
                value: '退款/退货',
                isActive: false
            }
        ],
        orderList: []
    },

    // 根据标题索引来激活选中 标题数组(点击改变，和页面参数传入改变)
    changeTitleByIndex(index) {
        let { tabs } = this.data
        tabs.forEach((v, i) => {
            if (i === index) {
                v.isActive = true
            } else {
                v.isActive = false
            }
        });

        this.setData({
            tabs: tabs
        })
    },
    // tab组件事件
    handleTabsItemChange(e) {
        // console.log(e);
        // 1，获取子组件传过来的index值
        const { index } = e.detail;
        // 2，修改原tabs数组
        this.changeTitleByIndex(index);
        // 3，重新发送请求 type=1 index=0 注意关系
        this.getOrderList(index + 1)

    },

    // 获取订单
    async getOrderList(type) {
        const { data } = await request({
            url: '/my/orders/all',
            data: { type }
        })

        // 变一下日期格式（用arr[i] 才能更改添加元素的属性）
        let orderList = data.message.orders
        orderList.forEach((v, i, arr) => {
            arr[i]['create_time_cn'] = (new Date(v.create_time * 1000)).toLocaleString()
        });

        // console.log(res);
        this.setData({
            orderList
        })

    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function(options) {

    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function() {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: async function() {

        //  获取授权
        const token = wx.getStorageSync('token');
        if (!token) {
            wx.navigateTo({
                url: '/pages/auth/auth',
                success: (result) => {

                },
                fail: () => {},
                complete: () => {}
            });
            return
        }
        /**
         * 在 onshow 页面中无法获取 options 参数（为了获得页面传递过来的参数）
         * 用一个方法来获取当前小程序的页面栈
         * 获取的数组，最后一个元素就是当前页面
         */
        let curPages = getCurrentPages();
        const { type } = curPages[curPages.length - 1].options
        console.log(type);

        this.changeTitleByIndex(type - 1)

        this.getOrderList(type)

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function() {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function() {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function() {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function() {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function() {

    }
})